package com.example.testjson;

import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.gsm.GsmCellLocation;
import android.util.Log;

import com.example.testjson.bean.StudentInfo;
import com.google.gson.Gson;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.io.InputStream;

public class MainActivity extends AppCompatActivity {

    public static final String TAG="MainActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //写入SharedPreferences
        //获取SharedPreferences对象，参数1-保存的文件名，参数2-文件的打开方式
        SharedPreferences setting=getSharedPreferences("config",MODE_PRIVATE);
        //获取到SharedPreferences对象的编辑器
        SharedPreferences.Editor editor=setting.edit();
        //使用editor写入数据
        editor.putInt("maxsize",1000);
        //提交
        editor.commit();

        //读出数据,参数1-关键字，参数2-默认值（没有获取到关键字对应的值的时候，默认取值）
       int dataint= setting.getInt("maxsize",1);
        Log.i(TAG, "maxsize="+dataint);













        //读出student.json文件的内容。保存到字符串变量
       String data=readJsonFile();
        //解析字符串data，获取tom，
        //使用Gson解析
        //1-创建一个Gson对象
        Gson gson=new Gson();
        //2-使用gson对象将一个json格式的字符串转换成实体类对象
        StudentInfo studentInfo=gson.fromJson(data, StudentInfo.class);
        //3-获取姓名年龄学号数据
        Log.i(TAG, "student name="+studentInfo.getName());

//        try {
//            //1-根据data字符串创建一个JSONObject对象
//            JSONObject jsonObject=new JSONObject(data);
//            //2-解析对象中的姓名数据
////            if (jsonObject.has("name")){
////
////
////            String stuName=jsonObject.getString("name");//获取name关键字对应的数据
////            //
////            Log.i(TAG, "name="+stuName);
////            }
//            String stuName=jsonObject.optString("Name");
//            Log.i(TAG, "name="+stuName);
//        } catch (JSONException e) {
//            e.printStackTrace();
//        }

    }

    private String readJsonFile() {
        //字节输入流
        InputStream in=this.getResources().openRawResource(R.raw.student);
        byte[]buf=new byte[1024];
        try {
            int len=in.read(buf);
            //文件的数据，在字节数组buf
            //将buf字节转换成字符串
            String data=new String(buf,0,len);
            //在日志中显示
            Log.i(TAG, "data="+data);
            return data;//读出文件的数据专户成字符串返回
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;//读文件出现异常，返回null
    }
}
